package com.rdc.example.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author Wookie
 * @description 用户实体类
 */
public class User {
    private Integer id;
    private String userName;
    private String passwordHash;
    private String phone;
    private String email;
    private String avatarPath;
    private Integer userType;
    private BigDecimal wallet;
    private LocalDateTime vipEndAt;
    private LocalDateTime createdAt;

    public User(Integer id, String userName, String passwordHash, String phone, String email, String avatarPath, Integer userType, BigDecimal wallet, LocalDateTime vipEndAt, LocalDateTime createdAt) {
        this.id = id;
        this.userName = userName;
        this.passwordHash = passwordHash;
        this.phone = phone;
        this.email = email;
        this.avatarPath = avatarPath;
        this.userType = userType;
        this.wallet = wallet;
        this.vipEndAt = vipEndAt;
        this.createdAt = createdAt;
    }

    public User() {

    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String username) {
        this.userName = username;
    }

    public String getPasswordHash() {
        return passwordHash;
    }

    public void setPasswordHash(String passwordHash) {
        this.passwordHash = passwordHash;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAvatarPath() {
        return avatarPath;
    }

    public void setAvatarPath(String avatarPath) {
        this.avatarPath = avatarPath;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public BigDecimal getWallet() {
        return wallet;
    }

    public void setWallet(BigDecimal wallet) {
        this.wallet = wallet;
    }

    public LocalDateTime getVipEndAt() {
        return vipEndAt;
    }

    public void setVipEndAt(LocalDateTime vipEndAt) {
        this.vipEndAt = vipEndAt;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + userName + '\'' +
                ", passwordHash='" + passwordHash + '\'' +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                ", avatarPath='" + avatarPath + '\'' +
                ", userType='" + userType + '\'' +
                ", wallet=" + wallet +
                ", vipEndAt=" + vipEndAt +
                ", createdAt=" + createdAt +
                '}';
    }
}
